package com.aecc.api.model;

import java.io.Serializable;

/**
 * 返回数据统一包装
 * @author admin
 *
 */
public class ResultModel implements Serializable {
	private static final long serialVersionUID = 3096881377205343070L;
	
	/**
	 * 返回code
	 * 1: 成功
	 * 0： 失败
	 * ...自定义
	 */
	private Integer code;
	/**
	 * 返回消息
	 */
	private String msg;
	/**
	 * 返回数据
	 */
	private Object data;
	
	public Integer getCode() {
		return code;
	}

	public void setCode(Integer code) {
		this.code = code;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}

	public Object getData() {
		return data;
	}

	public void setData(Object data) {
		this.data = data;
	}

	/**
	 * 封闭构造方法
	 */
	private ResultModel(){}
	
	/**
	 * 操作成功，返回默认编码(无参)
	 * @return
	 */
	public static ResultModel success(){
		ResultModel rm = new ResultModel();
		rm.code=1;
		rm.msg="操作成功";
		return rm;
	}
	
	/**
	 * 操作成功，返回默认编码
	 * @param data
	 * @return
	 */
	public static ResultModel success(Object data){
		ResultModel rm = new ResultModel();
		rm.code=1;
		rm.msg="操作成功";
		rm.data=data;
		return rm;
	}

	/**
	 * 操作失败，返回默认编码
	 * @param msg
	 * @return
	 */
	public static ResultModel fail(String msg){
		ResultModel rm = new ResultModel();
		rm.code=0;
		rm.msg=msg;
		return rm;
	}

	/**
	 * 自定义返回内容,为了便于前端统一处理异常，此方法慎用！！！
	 * @param code  返回编码
	 * @param msg   提示消息
	 */
	public static ResultModel custom(int code,String msg){
		ResultModel rm = new ResultModel();
		rm.code=code;
		rm.msg=msg;
		return rm;
	}
	
	/**
	 * 自定义返回内容,为了便于前端统一处理异常，此方法慎用！！！
	 * @param code  返回编码
	 * @param msg   提示消息
	 * @param data  返回数据
	 */
	public static ResultModel custom(int code,String msg,Object data){
		ResultModel rm = new ResultModel();
		rm.code=code;
		rm.msg=msg;
		rm.data=data;
		return rm;
	}
	
}
